自分が日記・メモに書きためてきた架空鉄道・未成線・延伸・直通シナリオと、Chakuwiki「もしあの鉄道路線が開業していたら」系の断片を、機械可読なシナリオカタログ(JSON 80件)に構造化し、Leaflet インタラクティブ地図と時代軸の年表に出力したアーカイブです。
🗺️ インタラクティブ・マップ
右上パネルのチェックボックスで出典(自分の妄想 / Chakuwiki断片 / 調査 / プロジェクト)と時代(大正・戦前昭和・戦後〜高度成長・平成・未来・不明)の2軸フィルタができます。「実道路スナップ表示」をONにすると、経由地直線結びの模式図から OSRM ルーティングによる実道路沿い近似に切り替わります。
「実道路スナップ」は OpenStreetMap の道路網に沿った近似経路です(OSRM の鉄道プロファイルが無いため)。実際の鉄道線形・設計ルートとは異なり、海上区間は橋梁道路経由になります。模式図(直線結び)と併用して見てください。
🌟 技術と手法の核心
1. シナリオの構造化(scenarios.json)
日記・メモの非構造テキスト断片を抽出スクリプト(正規表現+キーワード)で走査して約191候補を収集し、人手で80シナリオに統合。各レコードは id / title / origin(own・chakuwiki・inquiry・project)/ era(分岐点の時代)/ region / route_hint / lines / fact_vs_fiction / sources を保持し、出典の行番号まで遡れるプロビナンスを持ちます。音声入力崩れの断片は unclear フラグで「わからなさ」を残したまま管理しています。
2. 座標化・ジオコーディング
route_hint の経由地名を Nominatim(OSMジオコーダ)で座標化。同名駅の誤検出(玉造→茨城、園田→千葉等)は手動座標オーバーライドで修正済み。59→64路線セグメント・約146ウェイポイントを GeoJSON / KML にエクスポート。
3. 自己完結Leaflet地図とOSRMスナップ
Leaflet 1.9.4 の JS/CSS を完全インライン化した自己完結HTML(CDN依存ゼロ、地図タイルのみ外部)。既定は経由地を直線で結ぶ模式図、「実道路スナップ」は OSRM 公開API(マルチwaypoint一括、59→64リクエストに集約・JSONキャッシュ)で実道路ジオメトリに変換。
4. 時代軸年表
シナリオを分岐点の時代(era: 大正・戦前昭和・戦後〜高度成長・平成・未来・不明)で縦グルーピングした年表HTMLを scenarios.json から機械生成。カードクリックで概要と出典を展開。
📊 データ仕様
| 成果物 | 内容 |
|---|---|
scenarios.json |
80シナリオ(自分の妄想47 / Chakuwiki断片30 / 調査1 / プロジェクト2) |
routes.geojson / stations.geojson |
64路線セグメント / 146ウェイポイント |
routes_snapped.geojson |
OSRM実道路経路(64/64セグメント成功) |
transit_if_routes.kml |
Google Earth / My Maps用 |
index.html / timeline.html |
自己完結Leaflet地図 / 時代軸年表 |
全シナリオに fact_vs_fiction(史実・創作・mixed)ラベルを付与。未成線計画の史実部分と妄想延伸を分離して管理しています。